package moe.oil.db.service;

import lombok.Setter;
import moe.oil.db.repo.SessionRepo;
import moe.oil.dto.user.SessionDTO;
import moe.oil.utils.JwtUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Optional;

@Service
@Setter(onMethod_ = @Autowired)
public class SessionService {
    public SessionRepo sessionRepo;

    //增删改查
//    public void addSession(String sessionId, String userId) {
//        sessionRepo.save(new Session(sessionId, userId));
//    }
//
//    public void deleteSession(String sessionId) {
//        sessionRepo.delete(sessionId);
//    }
//
//    public void updateSession(String sessionId, String userId) {
//        sessionRepo.update(sessionId, userId);
//    }
//
//    public String findUserId(String sessionId) {
//        return sessionRepo.findUserId(sessionId);
//    }
    public Optional<SessionDTO> createSession(Long id, String username) {
        var jwtUtils = new JwtUtils();
        var token = jwtUtils.createToken(id, username);
        var session = new SessionDTO();
        session.setToken(token)
                .setCreateTime(jwtUtils.getCreateDate())
                .setExpireTime(jwtUtils.getExpireDate());

        return Optional.of(session);
    }
}
